Sensor data produced by a robot can be used for a variety of purposes, such as debugging the robot, gathering various statistics about how the robot operates, learning about an environment in which the robot operates, etc. However, robots typically have numerous sensors that produce a large amount of sensor data. For example, many robots have multiple operational components (e.g., joints, gears, drives, etc.), many of which include or act as sensors (e.g., torque sensors) that collect data points pertaining to the operational components. Many robots also include various standalone sensors, such as microphones, cameras, accelerometers, GPS sensors, proximity sensors, and so forth, each producing yet more sensor data. Depending on the robot's context, storing such large amounts of sensor data locally in memory of a robot may not be practicable. It may be feasible to offload the sensor data to a remote computing system such as a logging server or debugging workstation under some circumstances, such as when available communication bandwidth/reliability between the robot and the remote computing system is relatively high. However, robots, and particularly autonomous or semi-autonomous robots, often operate in contexts in which communication is limited.